Secure computing environments that store and run software applications from a portable electronic Universal Serial Bus (“USB”) flash memory device plugged into a host computer are generally known, such as IronKey, Imation, Option CloudKey and Kobil mIDentity, in which secure authentication to the associated service and encryption is provided by the USB device itself. Typically in such environments, the USB flash memory devices are provisioned with one or more encryption keys that are used to authenticate, encrypt and decrypt program data. The encryption keys are stored within a non-volatile memory of the USB flash memory device, such as a non-volatile memory. Unauthorised access to the encryption key data in the memory poses a crucial security risk.
As such secure computing environments become more prevalent, there is a need for improved systems and techniques to provide enhanced protection and security of software application data and encryption key data that are stored in the protected memory of these USB flash memory devices.